Chris Pollett > Old Classses > CS255
( Print View )

Student Corner:
  [Submit Sec1]
  [Grades Sec1]

  [
Lecture Notes]
  [Discussion Board]

Course Info:
  [Texts & Links]
  [Description]
  [Course Outcomes]
  [Outcomes Matrix]
  [Course Schedule]
  [Grading]
  [Requirements/HW/Quizzes]
  [Class Protocols]
  [Exam Info]
  [Regrades]
  [University Policies]
  [Announcements]

HW Assignments:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Hw5]  [Quizzes]

Practice Exams:
  [Midterm]  [Final]

                           












CS255 Spring 2018Practice Midterm

Studying for one of my tests does involve some memorization. I believe this is an important skill. Often people waste a lot of time and fail to remember the things they are trying to memorize. Please use a technique that has been shown to work such as the method of loci. Other memorization techniques can be found off the Wiki Page for Moonwalking with Einstein. Given this, to study for the midterm I would suggest you:

  • Know how to do (by heart) all the practice problems.
  • Go over your notes at least three times. Second and third time try to see how much you can remember from the first time.
  • Go over the homework problems.
  • Try to create your own problems similar to the ones I have given and solve them.
  • Skim the relevant sections from the book.
  • If you want to study in groups, at this point you are ready to quiz each other.

The practice midterm is below. Here are some facts about the actual midterm: (a) It is closed book, closed notes. Nothing will be permitted on your desk except your pen (pencil) and test. (b) You should bring photo ID. (c) There will be more than one version of the test. Each version will be of comparable difficulty. (d) One problem (less typos) on the actual test will be from the practice test.

  1. Carefully define the following terms: (a) probability distribution, (b) pairwise independence, (c) discrete random variable
  2. Prove the odds the priorities chosen in the permute-by-sorting algorithm will be distinct with probability at least `1 - 1/n`.
  3. Give the online hiring algorithm. What choice of `k` maximizes its odd of returning the best candidate? What are the odds for this value of `k`?
  4. Give the parallel Fibonnaci algorithm from class. As a function of `n`, what is its span? What is its work?
  5. Define the following JOCL concepts: (a) compute unit, (b) global work size, (c) work item.
  6. Give the BoxSort algorithm. Explain with an example how it would sort a list of size `16` in descending order into a list of size `16` in ascending order.
  7. Explain why we mark vertices with probability `1/(2d(v))` in the Parallel MIS algorithm.
  8. Give an example instance where in performing Async-CCP every branch of the algorithm is followed by a least one processor (except (c) or (d)).
  9. Give a concrete example where a faulty processor might be able to foil a threshold in the Byzantine Agreement algorithm.
  10. Give an example of a Map Reduce algorithm to compute the most popular sequence of three words in a corpus of documents.